使用JAVA数组实现顺序栈 您所在的位置:网站首页 java 数组实现栈 使用JAVA数组实现顺序栈

使用JAVA数组实现顺序栈

2024-07-08 14:33| 来源: 网络整理| 查看: 265

1,首先总结一下线性表(分为顺序表和链接表,【即顺序存储结构和链式存储结构的区别】)和栈(顺序栈和链接栈)还有队列(顺序队列和链接队列)的JAVA类库中的实现:

java.util.ArrayList 实现了顺序表,java.util.LinkedList 实现了链接表的功能。

java.util.ArrayDeque实现了顺序栈和顺序队列(该类中即定义了与栈操作有关的方法,也定义了与队列操作有关的方法)、java.util.LinkedList实现了链接栈和链接队列。

2,定义了一个Stack接口,指明该栈实现了哪些具体的操作。接口如下:

1 public interface Stack { 2 public int length();//返回栈的长度 3 4 public E pop();//出栈 5 6 public void push(E element);//进栈 7 8 public E peek();//访问栈顶元素 9 10 public boolean empty();//判断栈是否为空 11 12 public void clear();//清空栈 13 }

3,在JAVA类库中,java.util.ArrayDeque类实现了顺序栈的功能。ArrayDeque可以实现动态地扩展栈的大小,但是不支持多线程访问。同时,ArrayDeque还实现了顺序队列的功能。

4,定义了一个Object[] 类型的数组,用来保存顺序栈中的元素。具体实现类SequenceStack.java 如下:

import java.util.Arrays; public class SequenceStack implements Stack { private int DEFAULT_SIZE = 16;//定义栈的初始默认长度 private int capacity;//保存顺序栈的长度 private int size;//保存顺序栈中元素的个数 private Object[] elementData;//定义一个数组用于保存顺序栈中的元素 public SequenceStack() { capacity = DEFAULT_SIZE; elementData = new Object[capacity]; } //以指定的大小来创建栈 public SequenceStack(int initSize){ capacity = 1; while(capacity


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有